package uno.linze.interview_question.service;

import jakarta.validation.Valid;
import uno.linze.interview_question.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import uno.linze.interview_question.dto.LoginRequest;
import uno.linze.interview_question.dto.PasswordResetDto;
import uno.linze.interview_question.dto.RegisterRequest;
import uno.linze.interview_question.dto.UserInfoDTO;

/**
* @author wangy
* @description 针对表【user(用户主表)】的数据库操作Service
* @createDate 2025-09-27 12:57:25
*/
public interface UserService extends IService<User> {

    void sendRegisterVerifyCode(String email);

    UserInfoDTO register(@Valid RegisterRequest request);

    String login(@Valid LoginRequest request);

    UserInfoDTO getCurrentUserInfo(String token);

    UserInfoDTO updateUserInfo(UserInfoDTO userInfo,String token);

    void resetPassword(PasswordResetDto passwordResetDto, String token);
}
